package com.hice.demo.java.design.pattern.factory;

/**
 * 信息发送-工厂类
 *
 * Created by echal on 2016/2/2.
 */
public class MsgSenderFactory {

    /**
     * 一个工厂方法
     * @param type
     * @return
     */
//    public MsgSender produce(String type){
//        if (type.equals("email")) {
//            return new EmailMsgSender();
//        }else if (type.equals("sms")){
//            return new SmsMsgSender();
//        }else {
//            return null;
//        }
//    }


    /**
     * 多个工厂方法-邮件发送
     * 静态工厂方法模式，将上面的多个工厂方法模式里的方法置为静态的，不需要创建实例，直接调用即可。
     * @return
     */
    public static MsgSender produceEmail(){
        return new EmailMsgSender();
    }

    /**
     * 多个工厂方法-短信发送
     * 静态工厂方法模式，将上面的多个工厂方法模式里的方法置为静态的，不需要创建实例，直接调用即可。
     * @return
     */
    public static MsgSender produceSms(){
        return new SmsMsgSender();
    }



}
